package com.yn.service.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.yn.common.model.zy.CarBillDO;
import com.yn.common.page.BasePage;
import com.yn.common.request.driver.CarBillQuery;
import com.yn.common.request.driver.CarBillRequest;
import com.yn.common.request.sc.PageParamRequest;
import com.yn.common.response.driver.CarBillDetailResponse;
import com.yn.common.response.driver.CarBillResponse;
import com.yn.common.response.driver.DriverIncomeResponse;


/**
 * <p>
 *  服务类
 * </p>
 *
 * @author xuquanjun
 * @since 2025-07-01
 */
public interface ICarBillService extends IService<CarBillDO> {

    /**
     * 管理端给司机端进行线下转账得流水
     * */
    void saveCarBill(CarBillRequest request);

    /**
     * 分页查看司机流水账单信息
     * */
    BasePage<CarBillResponse> listPage(CarBillQuery query, PageParamRequest basePage);

    /**
     * 根据流水表id查询司机流水详情
     * */
    CarBillDetailResponse getDetailById(Long id);

    /**
     * 根据车队id查询某个车队的流水信息
     * */
    DriverIncomeResponse getFleetBill(Integer fleetId);
}
